A Mathematical Definition of Full Prolog

نویسندگان

  • Egon Börger
  • Dean Rosenzweig
چکیده

The paper provides a mathematical yet simple model for the full programming language Prolog, as apparently intended by the ISO draft standard proposal. The model includes all control constructs, database operations, solution collecting predicates and error handling facilities, typically ignored by previous theoretical treatments of the language. We add to this the ubiquitous box-model debugger. The model directly reeects the basic intuitions underlying the language and can be used as a primary mathematical deenition of Prolog. The core of the model has been applied for mathematical analysis of implementations, for clariication of disputable language features and for specifying extensions of the language in various directions. The model may provide guidance for extending the established theory of logic programming to the extralogical features of Prolog.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Formal Verification of Logic Programs: Foundations and Implementation

We present the theoretical foundations of LPTP, a logic program theorem prover implemented in Prolog by the author. LPTP is an interactive theorem prover in which one can prove termination and correctness properties of pure Prolog programs that contain negation and built-in predicates like is/2 and call/n. The largest program that has been verified using LPTP is 635 lines long including its spe...

متن کامل

Pure Prolog Execution in 21 Rules

A simple mathematical definition of the 4-port model for pure Prolog is given. The model combines the intuition of ports with a compact representation of execution state. Forward and backward derivation steps are possible. The model satisfies a modularity claim, making it suitable for formal reasoning.

متن کامل

The Theoretical Foundations of LPTP (A Logic Program Theorem Prover)

This article contains the theoretical foundations of LPTP, a logic program theorem prover that has been implemented in Prolog by the author. LPTP is an interactive theorem prover in which one can prove correctness properties of pure Prolog programs that contain negation and built-in predicates like is/2 and call/n + 1. The largest example program that has been verified using LPTP is 635 lines l...

متن کامل

An Automatic Partial Evaluator for Full Prolog

A partial evaluator for Prolog takes a program and a query and returns a program specialized for all instances of that query. The intention is that the generated program will execute more efficiently than the original one for those instances. This thesis presents “Mixtus”, an automatic partial evaluator for full Prolog, i.e. including non-logical features such as cut, assert, var, write etc. Mi...

متن کامل

The Finite Domain Constraint Solver of SWI-Prolog

We present a new constraint solver over finite domains, freely available as library(clpfd) in SWI-Prolog. Our solver has several unique features, which we describe in this paper: Reasoning over arbitrarily large integers, always terminating propagation, and a domain-specific language that concisely expresses the full semantics of constraint reification. The library is entirely written in Prolog...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Sci. Comput. Program.

دوره 24  شماره 

صفحات  -

تاریخ انتشار 1995